package com.zscat.mallplus.utils;

import org.springframework.web.multipart.MultipartFile;

import javax.imageio.ImageIO;
import javax.swing.*;
import java.awt.*;
import java.awt.image.BufferedImage;
import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.InputStream;
import java.util.UUID;

public class ImageUtil {

    public static void main(String[] args) {

    }

    public  static String transferAlpha(MultipartFile file) {
        return null;
//        ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
//        InputStream is;
//        File res = null;
//        try {
//            is = file.getInputStream();
//            BufferedImage bi = ImageIO.read(is);
//            Image image = (Image) bi;
//            ImageIcon imageIcon = new ImageIcon(image);
//            BufferedImage bufferedImage = new BufferedImage(imageIcon.getIconWidth(), imageIcon.getIconHeight(),
//                    BufferedImage.TYPE_4BYTE_ABGR);
//            Graphics2D g2D = (Graphics2D) bufferedImage.getGraphics();
//            g2D.drawImage(imageIcon.getImage(), 0, 0, imageIcon.getImageObserver());
//            int alpha = 0;
//            for (int j1 = bufferedImage.getMinY(); j1 < bufferedImage.getHeight(); j1++) {
//                for (int j2 = bufferedImage.getMinX(); j2 < bufferedImage.getWidth(); j2++) {
//                    int rgb = bufferedImage.getRGB(j2, j1);
//                    int R = (rgb & 0xff0000) >> 16;
//                    int G = (rgb & 0xff00) >> 8;
//                    int B = (rgb & 0xff);
//                    if (((255 - R) < 30) && ((255 - G) < 30) && ((255 - B) < 30)) {
//                        rgb = ((alpha + 1) << 24) | (rgb & 0x00ffffff);
//                    }
//                    bufferedImage.setRGB(j2, j1, rgb);
//                }
//            }
//            g2D.drawImage(bufferedImage, 0, 0, imageIcon.getImageObserver());
//            String sysTemp = System.getProperty("java.io.tmpdir");
//            String tempFileName = UUID.randomUUID().toString() + ".png";
//            String filePath = sysTemp + File.separator + tempFileName;
//            res = new File(filePath);
//            ImageIO.write(bufferedImage, "png",res);// 直接输出文件
//            return OssUtil.upload(res,OssUtil.FileDirType.ARTICLE_IMAGES);
//        } catch (Exception e) {
//
//            e.printStackTrace();
//            return null;
//        } finally {
//            res.delete();
//        }
    }
}